/* Copyright (C) 2011 Fredrique Samuels, fredriquesamuels@gmail.com 

 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#ifndef _TRI_ENTITY_PARSER_H_
#define _TRI_ENTITY_PARSER_H_

#include <string>
#include <vector>
#include <iostream>
#include <fstream>

//Include library header
#include "../base/xmlnode.h"
#include "../model3d.h"
#include "../shapes.h"
#include "../base/logging.h"

#include "simulation_entity.h" 


namespace tri{

tri::TVector parseVector(tri::TXMLNode* node);
tri::graphics::TColor parseColor(tri::TXMLNode* node);
void parseEntityConfigs(tri::TEntity* ent, tri::TXMLNode* node);
tri::TEntity* parseEntity(tri::TXMLNode* node);
tri::TSimulationEntity* parseSimualtionEntity(tri::TXMLNode* node);
tri::TEntity* loadEntityFromXML(std::string xmlfile);
tri::TSimulationEntity* loadSimulationEntityFromXML(std::string xmlfile);

}

#endif
